package com.ee.chat.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author ${author}
 * @since 2021-03-02
 */
@TableName("user_call_log")
public class UserCallLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 通话id
     */
    @TableField("call_id")
    private String callId;

    /**
     * 频道id
     */
    @TableField("channel_id")
    private String channelId;

    /**
     * 发起者id
     */
    @TableField("from_user_id")
    private Integer fromUserId;

    /**
     * 接受者id
     */
    @TableField("to_user_id")
    private Integer toUserId;

    @TableField("host")
    private Integer host;

    /**
     * 通话价格，金币/每分钟
     */
    @TableField("charge")
    private Integer charge;

    /**
     * 收益，积分/分钟
     */
    @TableField("earn")
    private Double earn;

    /**
     * 通话开始时间
     */
    @TableField("begin_time")
    private Date beginTime;

    /**
     * 通话结束时间
     */
    @TableField("end_time")
    private Date endTime;

    /**
     * 总花费金币
     */
    @TableField("total_coin")
    private Integer totalCoin;

    /**
     * 总得到积分
     */
    @TableField("total_credit")
    private Double totalCredit;

    @TableField("create_time")
    private Date createTime;

    /**
     * 视频通话录制文件
     */
    @TableField("file")
    private String file;

    /**
     * 视频文件id
     */
    @TableField("vid")
    private String vid;

    /**
     * 视频源文件状态，0-未删除  1-已删除
     */
    @TableField("vstatus")
    private Integer vstatus;

	public UserCallLog() {
	}

	public UserCallLog(String callId, Integer fromUserId, Integer toUserId, Integer host, Integer charge, Double earn) {
		this.callId = callId;
		this.fromUserId = fromUserId;
		this.toUserId = toUserId;
		this.host = host;
		this.charge = charge;
		this.earn = earn;
	}

	public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCallId() {
        return callId;
    }

    public void setCallId(String callId) {
        this.callId = callId;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public Integer getFromUserId() {
        return fromUserId;
    }

    public void setFromUserId(Integer fromUserId) {
        this.fromUserId = fromUserId;
    }

    public Integer getToUserId() {
        return toUserId;
    }

    public void setToUserId(Integer toUserId) {
        this.toUserId = toUserId;
    }

    public Integer getHost() {
        return host;
    }

    public void setHost(Integer host) {
        this.host = host;
    }

    public Integer getCharge() {
        return charge;
    }

    public void setCharge(Integer charge) {
        this.charge = charge;
    }

    public Double getEarn() {
        return earn;
    }

    public void setEarn(Double earn) {
        this.earn = earn;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getTotalCoin() {
        return totalCoin;
    }

    public void setTotalCoin(Integer totalCoin) {
        this.totalCoin = totalCoin;
    }

    public Double getTotalCredit() {
        return totalCredit;
    }

    public void setTotalCredit(Double totalCredit) {
        this.totalCredit = totalCredit;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getFile() {
        return file;
    }

    public void setFile(String file) {
        this.file = file;
    }

    public String getVid() {
        return vid;
    }

    public void setVid(String vid) {
        this.vid = vid;
    }

    public Integer getVstatus() {
        return vstatus;
    }

    public void setVstatus(Integer vstatus) {
        this.vstatus = vstatus;
    }

    @Override
    public String toString() {
        return "UserCallLog{" +
        "id=" + id +
        ", callId=" + callId +
        ", channelId=" + channelId +
        ", fromUserId=" + fromUserId +
        ", toUserId=" + toUserId +
        ", host=" + host +
        ", charge=" + charge +
        ", earn=" + earn +
        ", beginTime=" + beginTime +
        ", endTime=" + endTime +
        ", totalCoin=" + totalCoin +
        ", totalCredit=" + totalCredit +
        ", createTime=" + createTime +
        ", file=" + file +
        ", vid=" + vid +
        ", vstatus=" + vstatus +
        "}";
    }
}
